install: allow customizing the shellHook #6195
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
nix-shell "<home-manager>" -A install
fails when a target path to be written by home-manager (eg~/.profile
) already exists. This causes problems when I try to bootstrap non-nixos machines with home-manager.There's currently no way to modify the install shellHook, which runs
exec home-manager init --switch --no-flake
. This PR allows customizing the shellHook with an override (for example, changing it toexec home-manager init --switch --no-flake -b backup
).I've also added an integration test for illustration, happy to remove if you think it's overkill.
Checklist
Change is backwards compatible.
Code formatted with
./format
.Code tested through
nix-shell --pure tests -A run.all
ornix develop --ignore-environment .#all
using Flakes.Test cases updated/added.
Commit messages are formatted.
Maintainer CC
@rycee